home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 API Bible / Windows 95 API Bible 3 Disc Set.iso / Win32 API Bible Book 1 of 3.iso / chapte22 / ex14.c < prev    next >
C/C++ Source or Header  |  1995-05-29  |  2KB  |  56 lines

  1. #include <genstub.c>
  2.  
  3. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  4. {
  5.    switch (uMsg)
  6.    {
  7.          case WM_COMMAND:
  8.                switch ( LOWORD( wParam ) )
  9.                {
  10.                      case IDM_TEST:
  11.                      {
  12.                            int   i = 0;
  13.                            HDC   hDC = GetDC( hWnd );
  14.                            TCHAR szTemp[] =  { 0, 0 };
  15.                            TCHAR szFrench[] = { 0x37, 0x3e, 0x20, 0x41, 0xee,
  16.                                                 0x6e, 0xe9, 0x20, 0xc1, 0 };
  17.                            LPTSTR p = szFrench;
  18.  
  19.                            TextOut ( hDC, 10,  0, "String:", 7 );
  20.                            TextOut ( hDC, 10, 15, "Alpha:", 6 );
  21.                            TextOut ( hDC, 10, 30, "AlphaNum:", 9 );
  22.                            TextOut ( hDC, 10, 45, "Lower:", 6 );
  23.                            TextOut ( hDC, 10, 60, "Upper:", 6 );
  24.  
  25.                            while (*p)
  26.                            {
  27.                               szTemp[0] = *p;
  28.                               TextOut( hDC, 100 + (i*10),  0, szTemp, 1 );
  29.                               TextOut( hDC, 100 + (i*10), 15,
  30.                                        IsCharAlpha(szFrench[i]) ? "1" : "0" , 1);
  31.                               TextOut( hDC, 100 + (i*10), 30,
  32.                                        IsCharAlphaNumeric(szFrench[i]) ?
  33.                                        "1" : "0", 1 );
  34.                               TextOut( hDC, 100 + (i*10), 45,
  35.                                        IsCharLower(szFrench[i]) ? "1" : "0", 1 );
  36.                               TextOut( hDC, 100 + (i*10), 60,
  37.                                        IsCharUpper(szFrench[i]) ? "1" : "0", 1 );
  38.                               p = CharNext( p );
  39.                               i++; // move a column over
  40.                            }
  41.                            ReleaseDC( hWnd, hDC );
  42.                      }
  43.                      break;
  44.                      case IDM_EXIT:
  45.                            DestroyWindow( hWnd );
  46.                      break;
  47.                }
  48.                break;
  49.          case WM_DESTROY:
  50.                PostQuitMessage( 0 );
  51.                break;
  52.          default:
  53.                return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
  54.    }
  55.    return( NULL );
  56. }